1. Technical Field
The present invention relates generally to case insensitive searches, and more particularly to searching a byte stream in a case insensitive manner without requiring normalization of the byte stream.
2. Description of Related Art
Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless protocol which can be used for many tasks beyond its use for hypertext, such as name servers and distributed object management systems, through extension of its request methods, error codes and headers.
HTTP/1.1 has defined syntax and semantics for all header fields. While implementing HTTP/1.1 spec, it is often necessary to search, (e.g., for “header keys”) while parsing a byte stream. Such searches must be performed in a case insensitive manner, so that no matter the case of the text of the header keys, the header keys may still be identified. In the current state of the art, characters of the byte stream must be normalized before searching them. For example, in many prior art systems, the byte stream is normalized by identifying all characters and transforming them into the same case, such as into lower case. After the characters have all been thus modified, the byte stream can then be searched for relevant targets. Without normalization, changes of case, whether planned or accidental, can foil search attempts.
The process of normalization requires an added computing step beyond the actual searching, and is computationally expensive. Therefore, it would benefit the art to have a way to search a byte stream without the need to first normalize the byte stream.